package org.ctstudio.oa.duty.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.ctstudio.oa.duty.bean.Apply;
import org.ctstudio.oa.duty.bean.ApplyQuery;
import org.ctstudio.oa.duty.bean.DutySummary;
import org.ctstudio.oa.duty.bean.LeaveApply;

@Mapper
public interface LeaveMapper {
  int add(LeaveApply apply);

  int del(long id);

  int edit(LeaveApply apply);

  LeaveApply get(long id);

  long count(ApplyQuery query);

  List<LeaveApply> query(ApplyQuery query);

  int approve(Apply apply);

  long countTotalTime(ApplyQuery query);

  List<DutySummary> queryTotalTime(ApplyQuery query);

  long countHoliday(ApplyQuery query);

  List<DutySummary> queryHoliday(ApplyQuery query);
}
